#ifndef RULE_H
#define RULE_H

#include "Command.h"
#include "Action.h"

class Rule
{
public:
	Rule( const Command& command, const Action& action );
	Rule( const Rule& rule );

	const Command& GetCommand() const;
	const Action& GetAction() const;

	bool Check( const Command& command ) const;
private:
	Command m_command;
	Action m_action;
};

inline bool operator == ( const Rule& a, const Rule& b ) {
	return a.GetCommand() == b.GetCommand() && a.GetAction() == b.GetAction();
}

#endif
